#Python 的列表(list)
列表(list) 是一组有序数据的 可变 集合。
列表的字面量使用方括号([]
)包裹一组值表示,例如:
students:list[str] = ["Tom", "Jerry", "Spike"]
类型标注 list[str]
,表示类型为 元素类型为 str
的列表
列表的元素类型可以不同,例如:
ages:list[int|str] = [15, "16", 17]
类型标注 list[int|str]
,表示类型为 元素类型为 int
或 str
的列表
如果没有合理的理由,请不要使用元素类型不定的列表
#索引
列表和元组一样,通过列表后跟方括号([]
)索引访问元素,索引从 0 开始,并且列表的元素是可以修改的:
students:list[str] = ["Tom", "Jerry", "Spike"]
print(students)
print(students[0])
print(students[1])
print(students[2])
students[1] = "Tuffy"
print(students)
并且 Python 支持负的索引,表示从后往前数的第 N 个元素:
students:list[str] = ["Tom", "Jerry", "Spike"]
print(students)
print(students[-1])
print(students[-2])
print(students[-3])
students[-1] = "Tuffy"
print(students)
#添加元素
Python 提供了多种方式向列表插入元素,主要包括 append
、insert
和 extend
:
append
- 在末尾追加元素insert
- 在指定位置插入元素extend
- 将另一个列表合并到末尾
示例:
numbers:list[int] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers.append(10) # 末尾追加 10
numbers.insert(2, 233) # 在索引为 2 的位置插入 233
numbers.insert(233, 666) # 索引 233 超出了当前长度,因此在末尾追加 666
print(numbers)
#删除元素
Python 提供了多种方式向列表插入元素,主要包括 pop
和 remove
:
pop
- 删除指定索引的元素,不指定索引则删除末尾的元素remove
- 删除第一个等于指定值的元素
示例:
numbers:list[int] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers.pop() # 删除末尾元素
numbers.pop(2) # 删除索引为 2 的元素
numbers.remove(7) # 删除值为 7 的第一个元素
print(numbers)
#清空列表
通过 clear
方法可以清空列表:
numbers:list[int] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers.clear() # 清空列表
print(numbers)
#排序
通过 sort
方法可以对列表进行排序:
numbers:list[int] = [5, 4, 7, 0, 1, 3, 6, 2, 8, 9]
numbers.sort() # 按从小到大的顺序排序
print(numbers)
numbers.sort(reverse=True) # 按从大到小的顺序排序
print(numbers)
#len 函数
通过内建函数 len
可以获得元组和列表的长度。
示例:
numbers_tuple:tuple[int, ...] = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
numbers_list:list[int] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(len(numbers_tuple))
print(len(numbers_list))
print(len(numbers_list[2:7]))